// 使用函数模板实现两个整数类型数据相加、两个double型数据相加、两个存放int型元素的set融合


#include <iostream>
#include <set>
#include <algorithm>

using namespace std;

template <class T>
T add(T t1, T t2){
    return t1 + t2;
}

set<int> add(set<int>& s1, set<int>& s2){
    set<int> s;
    s.insert(s1.begin(), s1.end());
    s.insert(s2.begin(),s2.end());

    return s;
}

int main()
{
    cout << add(2, 4) << endl;
    cout << add(2.2, 4.4) << endl;
    set<int> s1({1,3,5});
    set<int> s2({2,4,6});
    set<int> s = add(s1, s2);
    for(auto& elem : s){
        cout << elem << " ";
    }
    cout << endl;

    return 0;
}


